package cn.openea.perpartner.meily.web.service;

import cn.openea.perpartner.meily.web.entity.Goods;
import cn.openea.perpartner.meily.web.entity.vo.EnterpriseRelevancyItemVo;
import cn.openea.perpartner.meily.web.entity.vo.EnterpriseSearchVo;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.openea.perpartner.meily.web.entity.Enterprise;
import lombok.NonNull;

import java.util.List;

/**
 * (Enterprise)表服务接口
 *
 * @author Weird077
 * @since 2023-05-28 10:23:40
 */
public interface IEnterpriseService extends IService<Enterprise> {

    boolean deleteEnterprise(List<String> idList);

    void addEnterprise(Enterprise enterprise);

    String createQrCode(long userId);

    boolean top(Long userId);

    boolean topCancel(Long userId);

    List<Enterprise> getTopList();

    List<Enterprise> getRandomList(EnterpriseSearchVo vo);

    /**
     * 获取相似企业
     * 关联字段是“所属行业”，最多展示5条数据即可
     * @param vo
     * @return
     */
    List<Enterprise> getSimilarList(EnterpriseSearchVo vo);

    /**
     * 获取企业关联品牌
     * @param vo
     * @return
     */
    List<Goods> getAssociateBrandList(EnterpriseSearchVo vo);

    List<Enterprise> selectAll();

    List<Enterprise> selectList(EnterpriseSearchVo searchVo);

    /**
     * 判断是否存在相同的数据
     * @param enterpriseName 企业名称
     * @param organizationCode 企业统一信用代码
     * @return boolean
     */
    boolean dataExists(String enterpriseName,String organizationCode);

    void edit(Enterprise enterprise);

    Enterprise getByEnterpriseNo(String enterpriseNo);

    /**
     * 企业关联项目
     * @param relevancyItemVo 关联信息
     */
    void relevancyItems(@NonNull EnterpriseRelevancyItemVo relevancyItemVo);
}

